<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Vue（音乐项目）实训报告 | Gip</title>
    <meta name="generator" content="VuePress 1.7.1">
    <link rel="icon" href="/blog/favicon.ico">
    <meta name="description" content="VuePress搭建">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    
    <link rel="preload" href="/blog/assets/css/0.styles.41872836.css" as="style"><link rel="preload" href="/blog/assets/js/app.ce46b86f.js" as="script"><link rel="preload" href="/blog/assets/js/2.262e1e49.js" as="script"><link rel="preload" href="/blog/assets/js/14.310e3a44.js" as="script"><link rel="prefetch" href="/blog/assets/js/10.8f2ab6cd.js"><link rel="prefetch" href="/blog/assets/js/11.0e5fc533.js"><link rel="prefetch" href="/blog/assets/js/12.61fc7a48.js"><link rel="prefetch" href="/blog/assets/js/13.09133bea.js"><link rel="prefetch" href="/blog/assets/js/15.d17fc55a.js"><link rel="prefetch" href="/blog/assets/js/16.4550e420.js"><link rel="prefetch" href="/blog/assets/js/17.ceff577e.js"><link rel="prefetch" href="/blog/assets/js/18.b6b9ff56.js"><link rel="prefetch" href="/blog/assets/js/3.115df618.js"><link rel="prefetch" href="/blog/assets/js/4.5b96068b.js"><link rel="prefetch" href="/blog/assets/js/5.7e3d77e5.js"><link rel="prefetch" href="/blog/assets/js/6.0175cad5.js"><link rel="prefetch" href="/blog/assets/js/7.861de91f.js"><link rel="prefetch" href="/blog/assets/js/8.db580af8.js"><link rel="prefetch" href="/blog/assets/js/9.60e428ab.js">
    <link rel="stylesheet" href="/blog/assets/css/0.styles.41872836.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/blog/" class="home-link router-link-active"><img src="/blog/logo.jpg" alt="Gip" class="logo"> <span class="site-name can-hide">Gip</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/blog/" class="nav-link">
  Home
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Contact" class="dropdown-title"><span class="title">Contact</span> <span class="arrow down"></span></button> <button type="button" aria-label="Contact" class="mobile-dropdown-title"><span class="title">Contact</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/Gip886" target="_blank" rel="noopener noreferrer" class="nav-link external">
  GitHub
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/blog/" class="nav-link">
  Home
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Contact" class="dropdown-title"><span class="title">Contact</span> <span class="arrow down"></span></button> <button type="button" aria-label="Contact" class="mobile-dropdown-title"><span class="title">Contact</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/Gip886" target="_blank" rel="noopener noreferrer" class="nav-link external">
  GitHub
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----></nav>  <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>vue教程</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/blog/views/vue/01.html" aria-current="page" class="active sidebar-link">Vue（音乐项目）实训报告</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#需求分析" class="sidebar-link">需求分析</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#项目结构" class="sidebar-link">项目结构</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#前端项目功能" class="sidebar-link">前端项目功能</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#前端项目结构" class="sidebar-link">前端项目结构</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#前端预览" class="sidebar-link">前端预览</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#首页" class="sidebar-link">首页</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#我的音乐" class="sidebar-link">我的音乐</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#最新mv" class="sidebar-link">最新MV</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#歌单" class="sidebar-link">歌单</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#搜索结果界面" class="sidebar-link">搜索结果界面</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#登录注册界面" class="sidebar-link">登录注册界面</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#状态界面" class="sidebar-link">状态界面</a></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#登录后查看歌曲" class="sidebar-link">登录后查看歌曲</a></li></ul></li><li class="sidebar-sub-header"><a href="/blog/views/vue/01.html#项目地址" class="sidebar-link">项目地址</a></li></ul></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Web教程</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/blog/views/web/v2.html" class="sidebar-link">本文主要内容</a></li><li><a href="/blog/views/web/v3.html" class="sidebar-link">Web 存储</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>JSP教程</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>软件工程实践</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>算法设计</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Spring学习</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="vue-音乐项目-实训报告"><a href="#vue-音乐项目-实训报告" class="header-anchor">#</a> Vue（音乐项目）实训报告</h1> <h2 id="需求分析"><a href="#需求分析" class="header-anchor">#</a> 需求分析</h2> <p>音乐网站是网络音乐的发展平台，过去，音乐网站功能较为单一，但随着网络技术的发展，用户对音乐网站的要求逐渐提高，音乐网站由此也逐渐出现了更多采用较为优雅的开发工具来设计的音乐网站，在制作之前，要明确网站能做些什么事情，也就是所谓的需求。所以必须把需求做清楚，然后才能进行设计。</p> <h2 id="项目结构"><a href="#项目结构" class="header-anchor">#</a> 项目结构</h2> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/wps1.png" alt="img"></p> <ul><li>前端项目使用了：Vue.js框架，Element_UI，以及Node.js，Vuecli脚手架和相关组件以及插件</li> <li>后端项目使用了：Jsp技术,以及mysql数据的操作</li></ul> <h2 id="前端项目功能"><a href="#前端项目功能" class="header-anchor">#</a> 前端项目功能</h2> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/wps2.png" alt="img"></p> <ol><li><p>登录注册模块：使用了elementui框架组件编写前端页面布局和逻辑代码并且使用了axios插件调用了本地Tomcat服务器下面自己编写的接口，本机测试端口为8088，发送了注册或者登录使用的参数，在后端项目Selvert中进行处理，最终将响应结果发回前端项目。</p></li> <li><p>搜索歌曲模块：使用了使用了axios插件携带关键字keywords参数发送请求，调用了远程服务器的网络接口（网易云API），最终将相应的数据结果实时动态的渲染到vue前端页面上。</p></li> <li><p>推荐歌单模块：使用了使用了axios插件携带参数参数发送请求，调用了远程服务器的网络接口（网易云API），最终将相应的数据结果实时动态的渲染到vue前端页面上。</p></li> <li><p>推荐MV模块：使用了使用了axios插件携带参数参数发送请求，调用了远程服务器的网络接口（网易云API），最终将相应的数据结果实时动态的渲染到vue前端页面上。</p></li> <li><p>登录查看添加歌曲：使用了使用了axios插件携带参数参数发送请求，调用了本地服务器接口，然后由后端项目对数据库进行增删改查的操作，并将最终响应结果发回前端项目。</p></li></ol> <h2 id="前端项目结构"><a href="#前端项目结构" class="header-anchor">#</a> 前端项目结构</h2> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107230833.jpg" alt="img"></p> <blockquote><p>Src：项目资源文件夹</p> <p>Assets：放项目需要的静态资源，比如：图片，图标</p> <p>Components：放Vue组件</p> <p>Router：路由，管理项目页面跳转逻辑，以及路由注册</p> <p>Store：编写项目共享的变量或者方法，状态管理</p> <p>Views：存放项目页面视图，视图可由多个组件构成</p> <p>App.vue：顶层视图，项目打开时，进入的文件</p> <p>Main.js：全局使用的对象，组件，样式导入管理</p></blockquote> <h2 id="前端预览"><a href="#前端预览" class="header-anchor">#</a> 前端预览</h2> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231025.jpg" alt="img"><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231031.jpg" alt="img"></p> <h3 id="首页"><a href="#首页" class="header-anchor">#</a> 首页</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231209.jpg" alt="img"></p> <h3 id="我的音乐"><a href="#我的音乐" class="header-anchor">#</a> 我的音乐</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231302.jpg" alt="img"></p> <h3 id="最新mv"><a href="#最新mv" class="header-anchor">#</a> 最新MV</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231310.jpg" alt="img"></p> <h3 id="歌单"><a href="#歌单" class="header-anchor">#</a> 歌单</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231310.jpg" alt="img"></p> <h3 id="搜索结果界面"><a href="#搜索结果界面" class="header-anchor">#</a> 搜索结果界面</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231317.jpg" alt="img"></p> <h3 id="登录注册界面"><a href="#登录注册界面" class="header-anchor">#</a> 登录注册界面</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231326.jpg" alt="img"></p> <h3 id="状态界面"><a href="#状态界面" class="header-anchor">#</a> 状态界面</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231326.jpg" alt="img"></p> <p>点击退出</p> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107232940.jpg" alt="img"></p> <h3 id="登录后查看歌曲"><a href="#登录后查看歌曲" class="header-anchor">#</a> 登录后查看歌曲</h3> <p><img src="https://raw.githubusercontent.com/Gip886/picture/master/img/20210107231336.jpg" alt="img"></p> <h2 id="项目地址"><a href="#项目地址" class="header-anchor">#</a> 项目地址</h2></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/blog/views/web/v2.html">
        本文主要内容
      </a>
      →
    </span></p></div> </main></div><div class="global-ui"></div></div>
    <script src="/blog/assets/js/app.ce46b86f.js" defer></script><script src="/blog/assets/js/2.262e1e49.js" defer></script><script src="/blog/assets/js/14.310e3a44.js" defer></script>
  </body>
</html>
